/*
 * bplvisual.so
 *
 * TCustomDialog.h
 */


#ifndef __TCustomDialog_H__
#define __TCustomDialog_H__


#define __BplVisual_H_Inside__

#include <TDialog.h>
#include <TDialogForm.h>


namespace QDialogs {


class PACKAGE TCustomDialog : public QDialogs::TDialog
{
    typedef QDialogs::TDialog inherited;
    friend class TOpenDialog;
    
public:
    __fastcall TCustomDialog (Classes::TComponent * AOwner);
    __fastcall virtual ~TCustomDialog ();
    
    __property TDialogForm * Form = {read = FForm};
    
    virtual bool __fastcall Execute ();
    
protected:
    virtual TDialogForm * __fastcall CreateForm () = 0;
    
    DYNAMIC void __fastcall DoClose ();
    
    virtual bool __fastcall DoExecute ();
    
    DYNAMIC void __fastcall DoShow ();
    
    Types::TRect __fastcall GetBounds ();
    
    virtual void __fastcall SetBounds (int ALeft, int ATop, int AWidth, int AHeight);
    
    virtual void __fastcall SetTitle (const WideString Value);
    
private:
    TDialogForm * FForm;
    
    void __fastcall Close (System::TObject * Sender, TCloseAction & Action);
};


}; // QDialogs


#undef __BplVisual_H_Inside__

#endif /* __TCustomDialog_H__ */
